/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mx.unam.fciencias.ActividadesCulturales.services.DAO;

import java.util.List;
import mx.unam.fciencias.actividadesculturales.entidades.db.Actividad;
import org.hibernate.Criteria;
import org.hibernate.Session;

/**
 * Capa de datos de la entidad actividad.
 * @author lumartin
 */
public class ActividadDAO extends GenericDAO {

     /**
     * Obtiene las actividades apartir de su nombre o su tipo.
     * @param nombreOtipo de las actividades.
     * @return lista de las actividades.
     */
    public List<Actividad> getActividades(String nombreOtipo) {
        Session session = super.getSesionDAO();

        Criteria crit = session.createCriteria(Actividad.class);

        crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        return (List<Actividad>) crit.list();
    }

     /**
     * Obtiene una actividad a partir de su identificador.
     * @param id_actividad el identificador de la actividad
     * @return la actividad.
     */
    public Actividad getActividad(Long id_actividad) {
        return (Actividad) super.getById(Actividad.class, id_actividad);
    }

    /**
     * Guarda o actualiza una actividad.
     * @param actividad a guardar.
     * @return true si se guardo false si no.
     */
    public boolean guardar(Actividad actividad) {
        return super.guardar(actividad);
    }

    /**
     * Elimina una actividad
     * @param actividad a eliminar.
     * @return true si se elimino false si no.
     */
    public boolean eliminar(Actividad actividad) {
        return super.eliminar(actividad);
    }
}
